using WMS_Goodsinfo.Domain;

namespace WMS_Goodsinfo.Infastructure.Interface
{
    /// <summary>
    /// 预测服务接口
    /// </summary>
    public interface IPredictionService
    {
        /// <summary>
        /// 生成汇总数据
        /// </summary>
        Task<bool> GenerateSummaryDataAsync(int productId, DateTime startDate, DateTime endDate);

        /// <summary>
        /// 生成特征数据
        /// </summary>
        Task<bool> GenerateFeaturesAsync(int productId, DateTime date);

        /// <summary>
        /// 训练预测模型
        /// </summary>
        Task<bool> TrainModelAsync(int productId);

        /// <summary>
        /// 执行出库预测
        /// </summary>
        Task<int> PredictOutboundAsync(int productId, DateTime predictionDate);

        /// <summary>
        /// 获取预测历史
        /// </summary>
        Task<List<PredictionFeature>> GetPredictionHistoryAsync(int productId, DateTime startDate, DateTime endDate);
    }
} 